import { ref } from 'vue';
import PageModal from '@/components/page-modal/src/page-modal.vue';

type callBackFn = (item?: any) => void;

export function usePageModal(editFn?: callBackFn, addFn?: callBackFn) {
  const pageModalRef = ref<InstanceType<typeof PageModal>>();
  const ModelEditData = ref({});

  const newCreateClick = () => {
    // console.log(pageModalRef.value);
    addFn && addFn();
    ModelEditData.value = {};
    if (pageModalRef.value) {
      pageModalRef.value!.dialogVisible = true;
    }
  };

  const editDataClick = (item: any) => {
    editFn && editFn(item);
    ModelEditData.value = { ...item };
    if (pageModalRef.value) {
      pageModalRef.value!.dialogVisible = true;
    }
  };
  // 注意这里最好使用modal[] 这样的处理方式 .. 应该都是一样的
  return [pageModalRef, newCreateClick, editDataClick, ModelEditData];
}
